package com.qf.entity;

import java.util.Date;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * (TbCourse)实体类
 *
 * @author makejava
 * @since 2023-07-18 18:59:05
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TbCourse{             /**
     * 课程编号
     */
    @TableId(type = IdType.AUTO)
    private Integer courseId;
        /**
     * 课程名称
     */
    private String courseName;
        /**
     * 课程描述
     */
    private String courseDesc;
        /**
     * 课程封面
     */
    private String courseImg;
        /**
     * 课程开始时间
     */
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date courseBegintime;
        /**
     * 课程结束时间
     */
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date courseEndtime;
        /**
     * 课程价格
     */
    private Double coursePrice;
        /**
     * 课程评分
     */
    private Double courseScore;
        /**
     * 课程创建时间
     */
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date couresCreatetime;
        /**
     * 课程更新时间
     */
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date courseUpdatetime;
        /**
     * 课程分类编号
     */
    private Integer typeId;
        /**
     * 课程创建教师编号
     */
    private Integer teacherId;
        /**
     * 课程热度编号,0代表最热,1代表最新
     */
    private Integer courseStstus;

    @TableField(exist = false)
    private String typeName;

    @TableField(exist = false)
    private String teacherName;

    @TableField(exist = false)
    private TbTeacher tbTeacher;

    @TableField(exist = false)
    private TbType tbType;

    @TableField(exist = false)
    private List<TbChapter> TbChapters;

    @TableField(exist = false)
    private List<TbResivew> TbResivews;
}

